import IconSymbol from '@/components/Icon/IconSymbol.vue'

// 自定义图标组件类型
export type IconType = 'symbol'

/**
 * 自定义图标组件类型枚举
 */
export enum IconTypeEnum {
  SYMBOL = 'symbol'
}

/**
 * 渲染自定义图标组件，该函数会返回一个渲染自定义图标组件的函数
 *
 * @param iconName 图标名称，如果传递的为空字符串，则不会渲染图标
 * @param iconType 图标类型，默认为 symbol 类型
 */
const renderIcon = (iconName: string = '', iconType: IconType = IconTypeEnum.SYMBOL) => {
  if (iconName.length === 0) return () => {}
  if (iconType === IconTypeEnum.SYMBOL) return () => h(IconSymbol, { iconName })
  return () => {}
}

export default renderIcon
